using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using EarthGeospatial;
using Geometry;
namespace Cesium3DTilesSelection
{
    public class ImplicitTilingContext
    {
        public  List<string> tileTemplateUrls;

        /**
         * @brief The {@link CesiumGeometry::QuadtreeTilingScheme} for this context.
         */
      public  QuadtreeTilingScheme tilingScheme;

        /**
         * @brief The {@link CesiumGeospatial::Projection} for this context.
         */
       public Projection projection;

        /**
         * @brief The {@link CesiumGeometry::QuadtreeTileAvailability} for this
         * context.
         */
      public  QuadtreeTileAvailability availability;
    }

    /**
     * @brief The action to take for a failed tile.
     */
    public enum FailedTileAction
    {
        /**
         * @brief This failure is considered permanent and this tile should not be
         * retried.
         */
        GiveUp,

        /**
         * @brief This tile should be retried immediately.
         */
        Retry,

        /**
         * @brief This tile should be considered failed for now but possibly retried
         * later.
         */
        Wait
    }
    public class TileContext
    {
        public Tileset pTileset = null;
        public string baseUrl;
        public Dictionary<string, string> requestHeaders = new Dictionary<string, string>();
        public string version;
        public ImplicitTilingContext implicitContext;
        public Func<Tile,FailedTileAction> failedTileCallback;
        public Action<TileContext,TileContext> ContextInitializerCallback;

    }
}
